home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / C / Shell.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-19  |  4.8 KB  |  191 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:C:Shell.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emith.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Theory of Operation
  13.  * 
  14.  * 
  15.  *  Classes defined in this interface
  16.  * 
  17.  */
  18.  
  19.  
  20. #ifndef SOM_ODShell_h
  21. #define SOM_ODShell_h
  22.  
  23.  
  24. #include <som.h>
  25.  
  26. /*
  27.  * -- This emitter treats Method Tokens as Thunks by default
  28.  * -- Use the sc modifier "nothunks" to change this default
  29.  */
  30. #undef somresolve_
  31. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  32.  
  33. /*
  34.  * Define the class name as an object type
  35.  */
  36. #ifndef ODShell
  37. #define ODShell SOMObject
  38. #endif
  39. #include <ODObject.h>
  40.  
  41. /*
  42.  * Start of user-defined types:
  43.  */
  44. #ifndef ODExtension
  45.     #define ODExtension SOMObject
  46. #endif /* ODExtension */
  47.  
  48. /*
  49.  * End of user-defined types.
  50.  */
  51.  
  52. #define ODShell_MajorVersion 0
  53. #define ODShell_MinorVersion 0
  54.  
  55. /*
  56.  * External name shortening if required
  57.  */
  58. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  59. #define ODShellNewClass c
  60. #define ODShellClassData d
  61. #define ODShellCClassData x
  62. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  63. /*--------------Migration------------*/
  64. #define ODShell_classObj ODShellClassData.classObject
  65. #define _ODShell ODShell_classObj
  66.  
  67. /*
  68.  * Declare the class creation procedure
  69.  */
  70.  
  71. #if applec ^ PRAGMA_LIB_EXPORT
  72. #pragma lib_export on
  73. #endif
  74.  
  75. SOMEXTERN SOMClass * SOMLINK ODShellNewClass(integer4 somtmajorVersion,
  76.         integer4 somtminorVersion);
  77.  
  78. /*
  79.  * Declare the class data structure
  80.  */
  81. SOMEXTERN struct ODShellClassDataStructure {
  82.     SOMAny *classObject;
  83.     somMToken InitShell;
  84.     somMToken Run;
  85. }
  86. #ifdef SOM_NO_DATA_EXPORTS
  87.     * ODShellGetClassData ( void );
  88. #   undef ODShellClassData
  89. #   define ODShellClassData (*ODShellGetClassData())
  90. #else
  91.       ODShellClassData;
  92. #endif /* SOM_NO_DATA_EXPORTS */
  93.  
  94. #if applec ^ PRAGMA_LIB_EXPORT
  95. #pragma lib_export off
  96. #endif
  97.  
  98.  
  99. /*
  100.  * Declare the C specific class data structure
  101.  */
  102. SOMEXTERN struct ODShellCClassDataStructure {
  103.     somMethodTabs parentMtab;
  104.     somDToken instanceDataToken;
  105. } ODShellCClassData;
  106.  
  107. /*
  108.  * New and Renew macros for ODShell
  109.  */
  110. #define ODShellNew() \
  111.     ( ( ! (ODShellClassData.classObject) && \
  112.         (ODShellNewClass(ODShell_MajorVersion, ODShell_MinorVersion)) ), \
  113.       (_somNew(ODShellClassData.classObject)) )
  114. #define ODShellRenew(buf) \
  115.     ( _somRenew(ODShellClassData.classObject, buf) )
  116.  
  117. /*
  118.  * Override method: somInit
  119.  */
  120. #define ODShell_somInit(somSelf) \
  121.     SOMObject_somInit(somSelf)
  122.  
  123. /*
  124.  * Override method: somUninit
  125.  */
  126. #define ODShell_somUninit(somSelf) \
  127.     SOMObject_somUninit(somSelf)
  128.  
  129. /*
  130.  * New Method: InitShell
  131.  */
  132. typedef void   (SOMLINK *somTD_ODShell_InitShell)(ODShell *somSelf, Environment *ev);
  133. #define somMD_ODShell_InitShell "::ODShell::InitShell"
  134. #define ODShell_InitShell(somSelf,ev) \
  135.     (SOM_Resolve(somSelf, ODShell, InitShell) \
  136.     (somSelf,ev))
  137. #ifndef SOMGD_InitShell
  138.     #if (defined(_InitShell) || defined(__InitShell))
  139.         #undef _InitShell
  140.         #undef __InitShell
  141.         #define SOMGD_InitShell 1
  142.     #else
  143.         #define _InitShell ODShell_InitShell
  144.     #endif /* _InitShell */
  145. #endif /* SOMGD_InitShell */
  146.  
  147. /*
  148.  * New Method: Run
  149.  */
  150. typedef void   (SOMLINK *somTD_ODShell_Run)(ODShell *somSelf, Environment *ev);
  151. #define somMD_ODShell_Run "::ODShell::Run"
  152. #define ODShell_Run(somSelf,ev) \
  153.     (SOM_Resolve(somSelf, ODShell, Run) \
  154.     (somSelf,ev))
  155. #ifndef SOMGD_Run
  156.     #if (defined(_Run) || defined(__Run))
  157.         #undef _Run
  158.         #undef __Run
  159.         #define SOMGD_Run 1
  160.     #else
  161.         #define _Run ODShell_Run
  162.     #endif /* _Run */
  163. #endif /* SOMGD_Run */
  164. #ifndef SOM_DONT_USE_INHERITED_MACROS
  165. #define ODShell_InitObject ODObject_InitObject
  166. #define ODShell_IsInitialized ODObject_IsInitialized
  167. #define ODShell_HasExtension ODObject_HasExtension
  168. #define ODShell_GetExtension ODObject_GetExtension
  169. #define ODShell_ReleaseExtension ODObject_ReleaseExtension
  170. #define ODShell_Purge ODObject_Purge
  171. #define ODShell_SubClassResponsibility ODObject_SubClassResponsibility
  172. #define ODShell_somFree SOMObject_somFree
  173. #define ODShell_somGetClass SOMObject_somGetClass
  174. #define ODShell_somGetClassName SOMObject_somGetClassName
  175. #define ODShell_somGetSize SOMObject_somGetSize
  176. #define ODShell_somIsA SOMObject_somIsA
  177. #define ODShell_somIsInstanceOf SOMObject_somIsInstanceOf
  178. #define ODShell_somRespondsTo SOMObject_somRespondsTo
  179. #define ODShell_somDispatchV SOMObject_somDispatchV
  180. #define ODShell_somDispatchL SOMObject_somDispatchL
  181. #define ODShell_somDispatchA SOMObject_somDispatchA
  182. #define ODShell_somDispatchD SOMObject_somDispatchD
  183. #define ODShell_somDispatch SOMObject_somDispatch
  184. #define ODShell_somClassDispatch SOMObject_somClassDispatch
  185. #define ODShell_somPrintSelf SOMObject_somPrintSelf
  186. #define ODShell_somDumpSelf SOMObject_somDumpSelf
  187. #define ODShell_somDumpSelfInt SOMObject_somDumpSelfInt
  188. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  189.  
  190. #endif       /* SOM_ODShell_h */
  191.